package student.aistar.dao;

import student.aistar.entity.TVideo;

import java.sql.SQLException;
import java.util.List;

public interface ITVideoDao {
    List<TVideo> findAll();
    int delById(int id);
    int update(TVideo tVideo);
    TVideo getId(int id);
    int insert(TVideo tVideo);

    /**
     * 同时插入n条视频信息
     * @param videoList
     * @return
     */
    int saveList(List<TVideo> videoList);

    /**
     * 批处理技术 - 批量插入
     * @param videoList
     * @return
     */
    void saveListBatch(List<TVideo> videoList);

    public void delByIdTemplate(int id) throws SQLException;
    /**
     ***2-1. 如果仅仅给定了一个用户名 - 根据用户名进行一个分页查询**
     *
     * **2-2. 如果仅仅给定了一个title,那么就是根据title进行模糊分页查询**
     *
     * **2-2. 如果username和title同时给了.同时根据这俩个条件[同时成立]进行分页查询.**
     *
     * **2-3. 如果俩个条件都不给.那么就是查整个视频表,分页查询.**
     *
     * @param username 精确匹配
     * @param title 模糊匹配
     * @param pageNow 当前页
     * @param pageSize 每页显示条数
     * @return
     */
    List<TVideo> findPage(String username,String title,Integer pageNow,Integer pageSize);


    /**
     * 多条件组合查询得到的个数
     * @param username
     * @param title
     * @return
     */
    int countVideos(String username,String title);
}
